package com.sunday.aomi.http;

import com.sunday.common.model.ResultDO;
import com.sunday.aomi.entity.Driver;
import com.sunday.aomi.entity.ProfitStatistic;
import com.sunday.aomi.entity.SalesDetail;
import com.sunday.member.entity.order.OrderItem;

import java.util.List;

import retrofit2.Call;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

/**
 * Created by 刘涛 on 2017/5/23.
 */

public interface ApiService {

    /**
     * 【管理版】获取门店子账号(配送员)。。-1直接提示消息；
     */
    @FormUrlEncoded
    @POST("/sunday/mobile/member/getDriver")
    Call<ResultDO<List<Driver>>> getDriver(@Field("nonce") String nonce, @Field("sign") String sign);

    /**
     * 【管理版】配送订单。type==1,orderStatus==2才能配送
     */
    @FormUrlEncoded
    @POST("/kitchen/mobile/order/sendOrder")
    Call<ResultDO> sendOrder(@Field("orderId")String orderId,@Field("driverId")String driverId,
                             @Field("nonce") String nonce, @Field("sign") String sign);

    /**
     * 营收统计
     */
    @FormUrlEncoded
    @POST("/kitchen/mobile/order/getRevenue")
    Call<ResultDO<ProfitStatistic>> getRevenue(@Field("type")int type,@Field("nonce") String nonce, @Field("sign") String sign);
    

    /**
     * 【用户版和管理版】分页获取订单
     *
     * @param type          订单类型。1,用户自己的商城订单，2用户自己的积分订单，3，门店/大客户自己的采购订单，4，门店的配送订单
     * @param orderStatuses 订单状态集合，支持传入多个状态。例如：orderStatuses=1,2,30全部，1，待付款，2待配送，3配送中，4待评价，
     *                      5已评价，6待退款， 7已退款，8待退货，9已退货
     * @param sort          排序参数。字段名称。默认为空
     * @param order         排序参数。。默认为空。ASC正序/DESC倒序
     * @param pageSize      分页参数。每页数量。默认20
     * @param pageNumber    分页参数。第几页。默认1
     *
     */
    @FormUrlEncoded
    @POST("/kitchen/mobile/order/select")
    Call<ResultDO<List<OrderItem>>> getOrderList(@Field("type") int type, @Field("orderStatuses") String orderStatuses,
                                                 @Field("createTime_start")String createTime_start,
                                                 @Field("createTime_end")String createTime_end,
                                                 @Field("pageSize") int pageSize, @Field("pageNumber") int pageNumber,
                                                 @Field("sort") String sort, @Field("order") String order,
                                                 @Field("nonce") String nonce, @Field("sign") String sign);


    /**
     * 【管理版】获取营收统计的明细列表。可以按日期分页查询，采购和销售明细
     */
    @FormUrlEncoded
    @POST("/kitchen/mobile/order/getRevenueDetail")
    Call<ResultDO<SalesDetail>> getRevenueDetail(@Field("type") int type, 
                                           @Field("createTime_start")String createTime_start,
                                           @Field("createTime_end")String createTime_end,
                                           @Field("pageSize") int pageSize, @Field("pageNumber") int pageNumber,
                                           @Field("sort") String sort, @Field("order") String order,
                                           @Field("nonce") String nonce, @Field("sign") String sign);



}
